package ru.sstu.bulls_and_cows.core;

/**
 * <code>Player</code> interface represents player engine.
 * <p>
 * <b><u>Important!</u></b>
 * Every implementation of this interface should also override
 * {@link Object#toString()} method.
 *
 * @author denis_murashev
 * @since Renju 1.0
 */
public interface Player {

	/**
	 * This method should provide main game logic.
	 * Using given game position this method should calculate the next move.
	 *
	 * @param game game
	 * @param type move type (Black or White)
	 * @return new move
	 */
	Attempt doAttempt(Game game);
}
